﻿using DFGK_WMS.Model.DTO;
using DFGK_WMS.Model.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;

namespace DFGK_WMS.IRepository
{
    public interface ITPutawayOrderRepository: IBaseRepository<TPutawayOrder>
    {
        /// <summary>
        /// 查询任务管理
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        TPutawayOrder Getputawayorder(Expression<Func<TPutawayOrder, bool>> where);

        /// <summary>
        /// 修改任务状态
        /// </summary>
        /// <param name="order"></param>
        /// <returns></returns>
        bool UpdatePutawayorder(TPutawayOrder order);

        bool AddTLogs();

        WCSRequestReturnDto WCSRequestReturn (WCSRequestDto wcsRequestDto);

        /// <summary>
        /// 更新所有设备信息
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        bool UpdEquipment(out string message,List<TEquipment> entity);


        /// <summary>
        /// 查询入库垛信息
        /// </summary>
        /// <param name="palletBarCode"></param>
        /// <returns></returns>
        TStackingStorage GetStackingStorage(out string message,string palletBarCode);

        /// <summary>
        /// 获取出库单信息
        /// </summary>
        /// <param name="palletBarCode"></param>
        /// <returns></returns>
        List<TShippingLockCell> GetShippingLockCells(out string message,string palletBarCode); 

    }
}
